/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cip.esymons.eventos.bc;

import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.cip.esymons.eventos.be.Matricula;
import org.cip.esymons.eventos.be.ModuloCurso;
import org.cip.esymons.eventos.be.Preevento;

/**
 *
 * @author Lizardo Rios
 */
public class ModuloCursoDelegate {

    ModuloCursoFacadeLocal local;

    public ModuloCursoDelegate() {
        local = lookupModuloCursoFacade();
    }

    public void create(ModuloCurso modulo) {
        local.create(modulo);
    }

    public void edit(ModuloCurso modulo) {
        local.edit(modulo);
    }

    public void remove(ModuloCurso modulo) {
        local.remove(modulo);
    }

    public ModuloCurso find(Object id) {
        return local.find(id);
    }

    public List<ModuloCurso> findAll() {
        return local.findAll();
    }

    public ModuloCurso buscarXNombre(String nombreModulo) throws Exception {
        return local.buscarXNombre(nombreModulo);
    }

    public List<ModuloCurso> listarModuloXCurso(Integer curCodigo) {
        return local.listarModuloXCurso(curCodigo);
    }

    public List<Matricula> listarAprobadosXModulo(Integer codCurso, Integer codModulo) {
        return local.listarAprobadosXModulo(codCurso, codModulo);
    }

    public Preevento busPreevento(Integer preCodigo) {
        return local.buscarPreevento(preCodigo);
    }

    public Integer cantidadModulos(Integer curCodigo) {
        return local.cantidadModulos(curCodigo);
    }

    public boolean verificarRangosFecha(Date fechaInicio, Date fechaFin, Integer curCodigo) {
        return local.verificarRangosFecha(fechaInicio, fechaFin, curCodigo);
    }

    public List<ModuloCurso> listarModuloXPreevento(Integer preCodigo) throws Exception {
        return local.listarModuloXPreevento(preCodigo);
    }

    public List<ModuloCurso> listarModulo(Integer preCodigo) throws Exception {
        return local.listarModulo(preCodigo);
    }

    private ModuloCursoFacadeLocal lookupModuloCursoFacade() {
        try {
            Context c = new InitialContext();
            return (ModuloCursoFacadeLocal) c.lookup("java:comp/env/ModuloCursoFacade");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }
    }

}
